package com.jzo2o.common.expcetions;

import com.jzo2o.common.constants.ErrorInfo;

/**
 * 禁止操作异常类，用于表示因业务规则限制而禁止执行某操作的情况
 */
public class ForbiddenOperationException extends CommonException {
    /**
     * 使用默认禁止操作消息构造异常
     */
    public ForbiddenOperationException() {
        this(ErrorInfo.Msg.FORBIDDEN_OPERATION);
    }
    /**
     * 使用指定消息构造禁止操作异常
     * @param message 异常消息
     */
    public ForbiddenOperationException(String message) {
        super(ErrorInfo.Code.FORBIDDEN_OPERATION, message);
    }
    /**
     * 使用指定原因和消息构造禁止操作异常
     * @param throwable 异常原因
     * @param message 异常消息
     */
    public ForbiddenOperationException(Throwable throwable, String message) {
        super(throwable, ErrorInfo.Code.FORBIDDEN_OPERATION, message);
    }
    /**
     * 使用指定原因和默认禁止操作消息构造异常
     * @param throwable 异常原因
     */
    public ForbiddenOperationException(Throwable throwable) {
        super(throwable, ErrorInfo.Code.FORBIDDEN_OPERATION, ErrorInfo.Msg.FORBIDDEN_OPERATION);
    }

}
